﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EntidadesCompartidas;
using Logica;

namespace Smart_House_System.Administrador
{
    public partial class Formulario_web1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void btnSiguiente_Click(object sender, EventArgs e)
        {
            try
            {
                lblMensaje.Text = "";
                Usuario usu  = (Usuario)Session["UsuarioModif"];

                if (comboRol.SelectedIndex == 0)
                {
                    usu.ElRol = RolUsuario.habPrincipal;
                }
                else if (comboRol.SelectedIndex == 1)
                {
                    usu.ElRol = RolUsuario.habSecundario;
                }
                else
                {
                    usu.ElRol = RolUsuario.habTerciario;
                }
                usu.Pass = txtPassword.Text;
                int res = FabricaLogica.getLogicaUsuario().ModificarUsuario(usu);
                if (res <= 0)
                {
                    throw new Exception("Ningun registro fue modificado.");
                }
                else
                {
                    lblMensaje.ForeColor = System.Drawing.Color.Green;
                    lblMensaje.Text = "Exito en la modificacion";
                }
            }
            catch (Exception ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text = ex.Message;
            }
        }

        protected void chkPass_CheckedChanged(object sender, EventArgs e)
        {
            txtPassword.Text = "";
            if (chkPass.Checked)
            {
                rfvPass.Enabled = true;
                regexpName.Enabled = true;
                rfvPass.Enabled = true;
                txtPassword.Enabled = true;
            }
            else
            {
                rfvPass.Enabled = false;
                regexpName.Enabled = false;
                rfvPass.Enabled = false;
                txtPassword.Enabled = false;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                lblMensaje.Text = "";
                int ced = int.Parse(txtCedula.Text);
                Usuario usu = FabricaLogica.getLogicaUsuario().BuscarUsuario(ced);
                if (usu == null)
                {
                    throw new Exception("Usuario no registrado.");
                }

                if (usu.ElRol.ToString() == "habPrincipal")
                {
                    comboRol.SelectedIndex = 0;
                }
                else if (usu.ElRol.ToString() == "habSecundario")
                {
                    comboRol.SelectedIndex = 1;
                }
                else
                {
                    comboRol.SelectedIndex = 2;
                }
                txtUsuario.Text = usu.User;
                rfvCedula.Enabled = true;
                Session["UsuarioModif"] = usu;
            }
            catch (Exception ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text = ex.Message;
            }
        }
        
    }
}